Лабораторная работа. Мультимедийные средства математических пакетов.

Во многих случаях самый зрелищный способ представления результатов математических расчетов — это анимация. В Mathcad очень просто создавать анимационные ролики и сохранять их в видеофайлах.

Основной принцип анимации в Mathcad — покадровая анимация. Ролик анимации — это просто последовательность кадров, представляющих собой некоторый участок документа, который выделяется пользователем. Расчеты производятся обособленно для каждого кадра, причем формулы и графики, которые в нем содержатся, должны быть функцией от номера кадра. Номер кадра задается системной переменной FRAME, которая может принимать лишь натуральные значения. По умолчанию, если не включен режим подготовки анимации, FRAME=0.

Рассмотрим последовательность действий для создания ролика анимации, например, демонстрирующего перемещение гармонической бегущей волны. При этом каждый момент времени будет задаваться переменной FRAME.

1. Введите в документ необходимые выражения и графики, в которых участвует переменная номера кадра FRAME. Подготовьте часть документа, которую вы желаете сделать анимацией, таким образом, чтобы она находилась в поле вашего зрения на экране. В нашем примере подготовка сводится к определению функции f (x,t) :=sin(x-t) и созданию ее декартова графика у (х, FRAME) .

2. Выполните команду Tools / Animation / Record (Сервис / Анимация / Запись).

3. В диалоговом окне Record Animation (Анимация) задайте номер первого кадра в поле From (От), номер последнего кадра в поле То (До) и скорость анимации в поле At (Скорость) в кадрах в секунду

4. Выделите протаскиванием указателя мыши при нажатой левой кнопке мыши область в документе, которая станет роликом анимации.

5. В диалоговом окне Record Animation (Анимация) нажмите кнопку Animate (Анимация). После этого в окошке диалогового окна Record Animation (Анимация) будут появляться результаты расчетов выделенной области, сопровождающиеся выводом текущего значения переменной FRAME. По окончании этого процесса на экране появится окно проигрывателя анимации.

6. Запустите просмотр анимации в проигрывателе нажатием кнопки воспроизведения в левом нижнем углу окна проигрывателя.

7. В случае если вид анимации вас устраивает, сохраните ее в виде видеофайла, нажав кнопку Save As (Сохранить как) в диалоговом окне Record Animation (Анимация). В появившемся диалоговом окне Save Animation (Сохранить анимацию) обычным для Windows способом укажите имя файла и его расположение на диске.

8. Закройте диалог Record Animation (Анимация) нажатием кнопки Cancel (Отмена) или кнопки управления его окном.

После того как вы сохранили видеофайл, его можно использовать за пределами Mathcad.

При создании файлов анимации допускается выбирать программу видеосжатия (кодек) и качество компрессии. Делается это с помощью кнопки Options (Опции) в диалоговом окне Record Animation (Анимация).

Графические файлы

При записи и чтении числовой информации в файлы различных графических форматов данные отождествляются с интенсивностью того или иного цвета пиксела изображения, находящегося в файле. Перечислим основные встроенные функции, предназначенные для графического ввода/вывода:

·          WRiTEBMP("file") — запись изображения в оттенках серого:

·          file — путь к файлу.

 

Имеется также большое количество функций специального доступа к графическим файлам, например, чтение интенсивности цветов в других цветовых моделях (яркость-насыщенмость-оттенок), а также чтение только одного из основных цветов и т. п.

Действие функций доступа к графическим файлам иллюстрируется листингами 13.19—13.21. Заметим, что для создания изображения используется встроенная функция identity, создающая единичную матрицу. Изображение, созданное листингом 13.19, приведено на рис. 13.22.

Листинг 13.19. Запись матрицы I в графический файл



Рис. 13.22. Файл, созданный листингом 13.19


Листинг 13.20. Чтение из графического файла

Листинг 13.21. Запись в цветной графический файл


Звуковые файлы

Начиная с версии Mathcad 2001, появилась возможность записывать и считывать амплитуду акустических сигналов в звуковые файлы с расширением wav.

·          GETWAViNFO("file") — создает вектор из четырех элементов с информацией о звуковом файле.

·         s — скорость следования сэмплов, задаваемых матрицей.


Использование этих встроенных функций позволяет организовать обработку звука.

Разработчики Maple включили в пакет plots команды создания анимационной графики на плоскости и пространстве: animate о и animate3d (). Обе эти команды работают по одинаковой схеме: формируют набор графических отображении (кадров) в диапазоне изменения параметра анимации и затем последовательно отображают их друг за другом с определённой частотой.

Для "запуска" анимации следует выделить график, отображаемый после выполнения команд анимационной графики и воспользоваться кнопками управления из контекстной панели инструментов анимации или командами меню Animation, расположенном в строке основного меню.

Двумерная анимация создается командой animate(), имеющей следующий синтаксис:

animate(f(x), х=диапазон1, time=диапазон2)

Здесь первый параметр f(x) представляет выражение, зависящее от переменной х и параметра time, изменяемых в соответствующих диапазонах.

В примере создается анимационное отображение функции cos(x), которое представляет зависимость этой функции от параметра phi, являющегося фазой тригонометрической функции.

> animate(cos(x+phi), x=0..2*Pi, phi=0..2*Pi, color=black, thickness=2)

По умолчанию команда animate () создает 16 кадров. Если этого мало для плавного отображения изменения некоторой функции, то их число можно увеличить (или уменьшить), задав значение опции frames.

Создать анимацию можно и командой display (), задав в ней список отображаемых графических структур и опцию insequence=true. В этом случае анимационные кадры будут составлять графические структуры из списка первого параметра команды display (}.

Maple позволяет сохранить анимацию в графическом файле формата GIF, который впоследствии можно использовать в HTML-страницах для отображения анимации. Для этого следует установить графическое устройство gif командой plotsetup () и указать в ней имя файла, в котором будет сохранена анимация:

>  plotsetup(gif, plotoutput='d:\\plot.gif');

В пространстве анимация создается командой animate3d() и имеет синтаксис:

animate3d( F(x,y,t), x=a..b, y=c..d, t=p..q, опции)

Здесь первый параметр F(x,y, t) представляет выражение от трех переменных или функцию двух первых независимых переменных, зависящую от параметра t. Остальные параметры задают диапазоны изменения независимых переменных и параметра. Опции, представленные параметром опции, как всегда задаются в виде уравнений и определяют вид отображаемого анимационного графика: оси, толщины линий и т. п.

По умолчанию для представления пространственной анимации создается 8 кадров. Опцией frame всегда можно увеличить их число для получения более плавной картинки смены кадров.

Команда animate3d () может одновременно отображать изменение несколь­ких функций. В этом случае все они должны зависеть от одинаковых не­зависимых переменных и одного и того же параметра и задаваться в виде списка.

animate3d([x*u,t-u,x*cos(t*u)],x=l..3,t=l..4,u=2..4,

axes=BOXED,orientation=[-45,70]

 

Задания:

  1. Построить анимированный график функции в Mathcad и Maple(табл.). Пределы, число кадров и точек подобрать самостоятельно.

Функция

Функция

1

ln(xt) sin(xt)

8

ln(x) sin(xt)

2

ln(xt) cos(xt)

9

ln(xt) cos(x)

3

ln(xt) sin(2xt)

10

ln(t) sin(2xt)

4

ln(xt) cos(2xt)

11

ln(xt) cos(2t)

5

ln(2xt) sin(xt)

12

ln(2x) sin(xt)

6

ln(2xt) cos(xt)

13

ln(2xt) cos(t)

7

ext sin(xt)

14

ext sin(t)

 

  1. Построить анимированный график функции в Mathcad и Maple cos(t*x)*sin(t*y)
  2. Создать анимацию в MathCAD решения системы уравнений методом Крамера:

 ;

;

;

 

  1. Создать анимацию в MathCAD построения касательной и нормали к графику функции Image530.gif (1073 bytes)в точке (1, 0). Показать, что касательная является предельным положением секущей.